package ar.edu.unrn.lia.bean.convert;

import javax.enterprise.context.RequestScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;

import ar.edu.unrn.lia.model.Cuenta;
import ar.edu.unrn.lia.service.CuentaService;

@ManagedBean(name = "cuentaConvert")
@RequestScoped
public class CuentaConvert implements Converter {

	@ManagedProperty(value = "#{cuentaService}")
	CuentaService cuentaService;

	@Override
	public Object getAsObject(FacesContext ctx, UIComponent comp, String value) {

		if (value == null) {
			return null;
		}

		return getCuentaService().getEntityById(Long.parseLong(value));
	}

	@Override
	public String getAsString(FacesContext arg0, UIComponent arg1, Object value) {
		return value instanceof Cuenta ? ((Cuenta) value).getId()
				.toString() : "";
	}

	public CuentaService getCuentaService() {
		return cuentaService;
	}

	public void setCuentaService(CuentaService cuentaService) {
		this.cuentaService = cuentaService;
	}

	

}
